#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;


int main(int argc, char* argv[])
{

	string strText = "How are you?";

	string strSeparator = " ";

	string strResult;

	int size_pos = 0;

	int size_prev_pos = 0;

	while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)

	{

		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);

		cout << strResult << " ";

		size_prev_pos = ++size_pos;

	}

	if (size_prev_pos != strText.size())

	{

		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);

		cout << strResult << " ";

	}

	cout << endl;

	return 0;

}


//int main()
//{
//
//	string str("Hello Bit.");
//	str.reserve(111);
//	str.resize(5);
//	str.reserve(50);
//
//	cout << str.size() << ":" << str.capacity() << endl;
//
//	return 0;
//
//} 



//class Solution {
//public:
//	int firstUniqChar(string s) {
//		int str[26] = { 0 };
//		for (int i = 0; i < s.size(); i++)
//		{
//			str[s[i] - 'a']++;
//		}
//
//		for (int i = 0; i < s.size(); i++)
//		{
//			if (str[s[i] - 'a'] == 1)
//				return i;
//		}
//		return -1;
//	}
//};
//
//int main()
//{
//	string s("leetcode");
//	Solution sl;
//	int ret = sl.firstUniqChar(s);
//	cout << ret;
//
//
//	return 0;
//}





//int Lcm(int x, int y)
//{
//	int i = 0;
//	if (x <= 0 || y <= 0)
//		return -1;
//	for (i = x;; i++) {
//
//		if (i % x == 0 && i % y == 0) {
//			return i;
//		}
//	}
//}
//
//int Lcm(int x, int y)
//{
//	if (x <= 0 || y <= 0)
//		return -1; // 如果x或y为负数，返回-1
//
//	int max = x > y ? x : y; // 取x和y中较大的数
//
//	for (int i = max; ; i++)
//	{
//		// 从较大的数开始循环
//		if (i % x == 0 && i % y == 0)
//		{
//			// 如果i能同时被x和y整除
//			return i; // 返回i，即最小公倍数
//		}
//	}
//}
//
//int main()
//{
//	int ret = Lcm(12, 24);
//	printf("%d", ret);
//
//
//
//	return 0;
//}

//#include <stdio.h>
//#include <math.h>
//int IsPrime(int x);
///* 函数功能：判断x是否是素数，若函数返回0，则表示不是素数，若返回1，则代表是素数 */
//int IsPrime(int x)
//{
//    int i, j, sum;
//    for (j = 2; j <= x; j++)
//    {
//        for (i = 2; i < j; i++) {
//            if (x % i != 0)
//                continue;
//            else
//                return 0;
//        }
//        return j;
//    }
//    sum += j;
//    return sum;
//}
//
//int main(void)
//{
//    int x, sum;
//    scanf("%d", &x);
//    sum = IsPrime(x);
//    printf("sum=%d", sum);
//    return 0;
//}

//int xxx()
//{
//}
//        int myAtoi(string str) {
//        int i = 0;
//        //读入字符串并丢弃无用的前导空格
//        while (i < str.size() && str[i] == ' ')
//        {
//            i++;
//        }
//
//        //检查下一个字符（假设还未到字符末尾）为正还是负号，读取该字符（如果有）。 确定最终结果是负数还是正数。 如果两者都不存在，则假定结果为正。
//        bool sign = true;
//
//        if (str[i] == '+')
//        {
//            i++;
//        }
//
//        //if elseif 可确保只对一个位置进行判断 if if 若是有两个符号会都判断
//        else if (str[i] == '-')
//        {
//            sign = false;
//            i++;
//        }
//
//        //读入下一个字符，直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略
//        if (str[i] < '0' || str[i]>'9')
//        {
//            return 0;
//        }
//
//        int res = 0;
//        int num = 0;
//        int border = INT_MAX / 10;
//
//        while (i < str.size())
//        {
//            if (str[i] < '0' || str[i]>'9')
//            {
//                return res;
//            }
//
//            if (res > border || (res == border && str[i] > '7'))
//            {
//                return sign == true ? INT_MAX : INT_MIN;
//            }
//
//            num = str[i] - '0';
//            res = res * 10 + num;
//            i++;
//
//        }
//
//        return sign = true ? res : -res;
//
//    }
//};

//class Solution {
//public:
//    int myAtoi(string str)
//    {
//        bool sign = true;   
//        int i = 0;
//        while (i < str.size() && str[i] == ' ')
//        {
//            i++;
//        }
//
//      
//        if (str[i] == '-')
//        {
//            sign = false;  
//            i++;
//        }
//        else if (str[i] == '+') 
//            i++;
//
//     
//        if (str[i] < '0' || str[i] > '9')
//            return 0;
//
//        int res = 0;  
//        int num = 0;
//        int border = INT_MAX / 10; 
//        while (i < str.size())
//        {
//          
//            if (str[i] < '0' || str[i] > '9')
//                break;
//
//           
//            if (res > border || res == border && str[i] > '7')
//                return sign == true ? INT_MAX : INT_MIN;
//
//         
//            num = str[i] - '0';
//            res = res * 10 + num;
//            i++;
//        }
//
//      
//        return sign == true ? res : -res;
//    }
//};

//int main()
//{
//	int str1[26] = { 0 };
//	int* str2 = new int[26];
//
//}


//关于代码输出正确的结果是()（vs2013 环境下编译运行）

//﻿int main(int argc, char* argv[])
//{
//	string a = "hello world";
//	string b = a;
//
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//
//	else cout << "false" << endl;
//
//	string c = b;
//	c = "";
//
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//
//	else cout << "false" << endl;
//
//	a = "";
//
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//
//	else cout << "false" << endl;
//	return 0;
//}
//
//﻿int main(int argc, char* argv[])
//
//{
//
//	string a = "hello world";
//
//	string b = a;
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	string c = b;
//
//	c = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	a = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	return 0;
//
//}


